1. Statement of the Technical Field
The present invention relates to user interface technology and more particularly to a flexible user interface for facilitating the performance of tasks in a prescribed order.
2. Description of the Related Art
In complex software products, for instance applications development tools, often users perform important tasks such as creating, mapping and deploying software objects. In many cases, these task ought to be performed in a prescribed order. In particular, these task typically are performed sequentially in order to achieve a higher-order task such as the deployment of a software components.
Conventional software products in which such higher-order tasks can be performed provide for the sequential completion of tasks using the user interface mechanism often referred to as a “task wizard”. Traditional task wizards guide users through a pre-defined sequence of tasks. Still, those tasks often must be performed in the task wizard as a unit.
Specifically, when using a task wizard, individual tasks cannot be performed out of order. Furthermore tasks cannot be performed while performing other tasks or processes. In sum, when using a task wizard, a user either performs the prescribed tasks contiguously, or not at all. It is not possible to perform intermediate tasks related to routine tasks performed in arbitrary order. In the context of a software development application, when using a task wizard, coding, editing and debugging cannot be performed out of order.
Still, in many cases, it is neither necessary nor convenient to perform tasks in a contiguous manner. In that regard, in some software applications, it is preferable that tasks can be selected non-sequentially and non-contiguously through a common UI mechanism such as a drop-down menu of task. Notwithstanding, when tasks can be selected from a drop-down menu, the drop-down menu often can include tasks which are not directly related to those tasks which must be performed in sequence. Examples of unrelated tasks can include window control, navigation and clipboard operations.
Despite the myriad of tasks which can be presented in a drop-down menu, however, such drop-down menus neither indicate nor enforce the sequence in which certain tasks must be performed. Notwithstanding, there are high-level tasks in which it is crucial that its component tasks are performed in a prescribed sequence. In these high-level tasks, however, it is not always necessary to perform the component tasks contiguously. Rather, in these high-level tasks it is acceptable to perform the component tasks sequentially, but not necessarily contiguously.